<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>GHC.Parser.Lexer</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">ghc-9.0.2: The GHC API</span><ul class="links" id="page-menu"><li><a href="src/GHC.Parser.Lexer.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">GHC.Parser.Lexer</p></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">data</span> <a href="#t:Token">Token</a><ul class="subs"><li>= <a href="#v:ITas">ITas</a></li><li>| <a href="#v:ITcase">ITcase</a></li><li>| <a href="#v:ITclass">ITclass</a></li><li>| <a href="#v:ITdata">ITdata</a></li><li>| <a href="#v:ITdefault">ITdefault</a></li><li>| <a href="#v:ITderiving">ITderiving</a></li><li>| <a href="#v:ITdo">ITdo</a> (<a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</li><li>| <a href="#v:ITelse">ITelse</a></li><li>| <a href="#v:IThiding">IThiding</a></li><li>| <a href="#v:ITforeign">ITforeign</a></li><li>| <a href="#v:ITif">ITif</a></li><li>| <a href="#v:ITimport">ITimport</a></li><li>| <a href="#v:ITin">ITin</a></li><li>| <a href="#v:ITinfix">ITinfix</a></li><li>| <a href="#v:ITinfixl">ITinfixl</a></li><li>| <a href="#v:ITinfixr">ITinfixr</a></li><li>| <a href="#v:ITinstance">ITinstance</a></li><li>| <a href="#v:ITlet">ITlet</a></li><li>| <a href="#v:ITmodule">ITmodule</a></li><li>| <a href="#v:ITnewtype">ITnewtype</a></li><li>| <a href="#v:ITof">ITof</a></li><li>| <a href="#v:ITqualified">ITqualified</a></li><li>| <a href="#v:ITthen">ITthen</a></li><li>| <a href="#v:ITtype">ITtype</a></li><li>| <a href="#v:ITwhere">ITwhere</a></li><li>| <a href="#v:ITforall">ITforall</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITexport">ITexport</a></li><li>| <a href="#v:ITlabel">ITlabel</a></li><li>| <a href="#v:ITdynamic">ITdynamic</a></li><li>| <a href="#v:ITsafe">ITsafe</a></li><li>| <a href="#v:ITinterruptible">ITinterruptible</a></li><li>| <a href="#v:ITunsafe">ITunsafe</a></li><li>| <a href="#v:ITstdcallconv">ITstdcallconv</a></li><li>| <a href="#v:ITccallconv">ITccallconv</a></li><li>| <a href="#v:ITcapiconv">ITcapiconv</a></li><li>| <a href="#v:ITprimcallconv">ITprimcallconv</a></li><li>| <a href="#v:ITjavascriptcallconv">ITjavascriptcallconv</a></li><li>| <a href="#v:ITmdo">ITmdo</a> (<a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</li><li>| <a href="#v:ITfamily">ITfamily</a></li><li>| <a href="#v:ITrole">ITrole</a></li><li>| <a href="#v:ITgroup">ITgroup</a></li><li>| <a href="#v:ITby">ITby</a></li><li>| <a href="#v:ITusing">ITusing</a></li><li>| <a href="#v:ITpattern">ITpattern</a></li><li>| <a href="#v:ITstatic">ITstatic</a></li><li>| <a href="#v:ITstock">ITstock</a></li><li>| <a href="#v:ITanyclass">ITanyclass</a></li><li>| <a href="#v:ITvia">ITvia</a></li><li>| <a href="#v:ITunit">ITunit</a></li><li>| <a href="#v:ITsignature">ITsignature</a></li><li>| <a href="#v:ITdependency">ITdependency</a></li><li>| <a href="#v:ITrequires">ITrequires</a></li><li>| <a href="#v:ITinline_prag">ITinline_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Types-Basic.html#t:InlineSpec" title="GHC.Types.Basic">InlineSpec</a> <a href="GHC-Types-Basic.html#t:RuleMatchInfo" title="GHC.Types.Basic">RuleMatchInfo</a></li><li>| <a href="#v:ITspec_prag">ITspec_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITspec_inline_prag">ITspec_inline_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></li><li>| <a href="#v:ITsource_prag">ITsource_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITrules_prag">ITrules_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITwarning_prag">ITwarning_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITdeprecated_prag">ITdeprecated_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITline_prag">ITline_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITcolumn_prag">ITcolumn_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITscc_prag">ITscc_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITgenerated_prag">ITgenerated_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITunpack_prag">ITunpack_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITnounpack_prag">ITnounpack_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITann_prag">ITann_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITcomplete_prag">ITcomplete_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITclose_prag">ITclose_prag</a></li><li>| <a href="#v:IToptions_prag">IToptions_prag</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITinclude_prag">ITinclude_prag</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITlanguage_prag">ITlanguage_prag</a></li><li>| <a href="#v:ITminimal_prag">ITminimal_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:IToverlappable_prag">IToverlappable_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:IToverlapping_prag">IToverlapping_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:IToverlaps_prag">IToverlaps_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITincoherent_prag">ITincoherent_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITctype">ITctype</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></li><li>| <a href="#v:ITcomment_line_prag">ITcomment_line_prag</a></li><li>| <a href="#v:ITdotdot">ITdotdot</a></li><li>| <a href="#v:ITcolon">ITcolon</a></li><li>| <a href="#v:ITdcolon">ITdcolon</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITequal">ITequal</a></li><li>| <a href="#v:ITlam">ITlam</a></li><li>| <a href="#v:ITlcase">ITlcase</a></li><li>| <a href="#v:ITvbar">ITvbar</a></li><li>| <a href="#v:ITlarrow">ITlarrow</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITrarrow">ITrarrow</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITdarrow">ITdarrow</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITlolly">ITlolly</a></li><li>| <a href="#v:ITminus">ITminus</a></li><li>| <a href="#v:ITprefixminus">ITprefixminus</a></li><li>| <a href="#v:ITbang">ITbang</a></li><li>| <a href="#v:ITtilde">ITtilde</a></li><li>| <a href="#v:ITat">ITat</a></li><li>| <a href="#v:ITtypeApp">ITtypeApp</a></li><li>| <a href="#v:ITpercent">ITpercent</a></li><li>| <a href="#v:ITstar">ITstar</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITdot">ITdot</a></li><li>| <a href="#v:ITbiglam">ITbiglam</a></li><li>| <a href="#v:ITocurly">ITocurly</a></li><li>| <a href="#v:ITccurly">ITccurly</a></li><li>| <a href="#v:ITvocurly">ITvocurly</a></li><li>| <a href="#v:ITvccurly">ITvccurly</a></li><li>| <a href="#v:ITobrack">ITobrack</a></li><li>| <a href="#v:ITopabrack">ITopabrack</a></li><li>| <a href="#v:ITcpabrack">ITcpabrack</a></li><li>| <a href="#v:ITcbrack">ITcbrack</a></li><li>| <a href="#v:IToparen">IToparen</a></li><li>| <a href="#v:ITcparen">ITcparen</a></li><li>| <a href="#v:IToubxparen">IToubxparen</a></li><li>| <a href="#v:ITcubxparen">ITcubxparen</a></li><li>| <a href="#v:ITsemi">ITsemi</a></li><li>| <a href="#v:ITcomma">ITcomma</a></li><li>| <a href="#v:ITunderscore">ITunderscore</a></li><li>| <a href="#v:ITbackquote">ITbackquote</a></li><li>| <a href="#v:ITsimpleQuote">ITsimpleQuote</a></li><li>| <a href="#v:ITvarid">ITvarid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITconid">ITconid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITvarsym">ITvarsym</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITconsym">ITconsym</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITqvarid">ITqvarid</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</li><li>| <a href="#v:ITqconid">ITqconid</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</li><li>| <a href="#v:ITqvarsym">ITqvarsym</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</li><li>| <a href="#v:ITqconsym">ITqconsym</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</li><li>| <a href="#v:ITdupipvarid">ITdupipvarid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITlabelvarid">ITlabelvarid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITchar">ITchar</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Char" title="GHC.Prelude">Char</a></li><li>| <a href="#v:ITstring">ITstring</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></li><li>| <a href="#v:ITinteger">ITinteger</a> <a href="GHC-Types-Basic.html#t:IntegralLit" title="GHC.Types.Basic">IntegralLit</a></li><li>| <a href="#v:ITrational">ITrational</a> <a href="GHC-Types-Basic.html#t:FractionalLit" title="GHC.Types.Basic">FractionalLit</a></li><li>| <a href="#v:ITprimchar">ITprimchar</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Char" title="GHC.Prelude">Char</a></li><li>| <a href="#v:ITprimstring">ITprimstring</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="../bytestring/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a></li><li>| <a href="#v:ITprimint">ITprimint</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Integer" title="GHC.Prelude">Integer</a></li><li>| <a href="#v:ITprimword">ITprimword</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Integer" title="GHC.Prelude">Integer</a></li><li>| <a href="#v:ITprimfloat">ITprimfloat</a> <a href="GHC-Types-Basic.html#t:FractionalLit" title="GHC.Types.Basic">FractionalLit</a></li><li>| <a href="#v:ITprimdouble">ITprimdouble</a> <a href="GHC-Types-Basic.html#t:FractionalLit" title="GHC.Types.Basic">FractionalLit</a></li><li>| <a href="#v:ITopenExpQuote">ITopenExpQuote</a> <a href="GHC-Parser-Annotation.html#t:HasE" title="GHC.Parser.Annotation">HasE</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITopenPatQuote">ITopenPatQuote</a></li><li>| <a href="#v:ITopenDecQuote">ITopenDecQuote</a></li><li>| <a href="#v:ITopenTypQuote">ITopenTypQuote</a></li><li>| <a href="#v:ITcloseQuote">ITcloseQuote</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITopenTExpQuote">ITopenTExpQuote</a> <a href="GHC-Parser-Annotation.html#t:HasE" title="GHC.Parser.Annotation">HasE</a></li><li>| <a href="#v:ITcloseTExpQuote">ITcloseTExpQuote</a></li><li>| <a href="#v:ITdollar">ITdollar</a></li><li>| <a href="#v:ITdollardollar">ITdollardollar</a></li><li>| <a href="#v:ITtyQuote">ITtyQuote</a></li><li>| <a href="#v:ITquasiQuote">ITquasiQuote</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a>)</li><li>| <a href="#v:ITqQuasiQuote">ITqQuasiQuote</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a>)</li><li>| <a href="#v:ITproc">ITproc</a></li><li>| <a href="#v:ITrec">ITrec</a></li><li>| <a href="#v:IToparenbar">IToparenbar</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITcparenbar">ITcparenbar</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITlarrowtail">ITlarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITrarrowtail">ITrarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITLarrowtail">ITLarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITRarrowtail">ITRarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></li><li>| <a href="#v:ITunknown">ITunknown</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITeof">ITeof</a></li><li>| <a href="#v:ITdocCommentNext">ITdocCommentNext</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITdocCommentPrev">ITdocCommentPrev</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITdocCommentNamed">ITdocCommentNamed</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITdocSection">ITdocSection</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITdocOptions">ITdocOptions</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITlineComment">ITlineComment</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li><li>| <a href="#v:ITblockComment">ITblockComment</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></li></ul></li><li class="src short"><a href="#v:lexer">lexer</a> :: <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; (<a href="GHC-Types-SrcLoc.html#t:Located" title="GHC.Types.SrcLoc">Located</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a</li><li class="src short"><a href="#v:lexerDbg">lexerDbg</a> :: <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; (<a href="GHC-Types-SrcLoc.html#t:Located" title="GHC.Types.SrcLoc">Located</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a</li><li class="src short"><a href="#v:pragState">pragState</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></li><li class="src short"><a href="#v:mkPState">mkPState</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></li><li class="src short"><a href="#v:mkPStatePure">mkPStatePure</a> :: <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a> -&gt; <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:PState">PState</a> = <a href="#v:PState">PState</a> {<ul class="subs"><li><a href="#v:buffer">buffer</a> :: <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a></li><li><a href="#v:options">options</a> :: <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></li><li><a href="#v:messages">messages</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a></li><li><a href="#v:tab_first">tab_first</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a></li><li><a href="#v:tab_count">tab_count</a> :: !<a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a></li><li><a href="#v:last_tk">last_tk</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a></li><li><a href="#v:last_loc">last_loc</a> :: <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a></li><li><a href="#v:last_len">last_len</a> :: !<a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a></li><li><a href="#v:loc">loc</a> :: <a href="GHC-Types-SrcLoc.html#t:PsLoc" title="GHC.Types.SrcLoc">PsLoc</a></li><li><a href="#v:context">context</a> :: [LayoutContext]</li><li><a href="#v:lex_state">lex_state</a> :: [<a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a>]</li><li><a href="#v:srcfiles">srcfiles</a> :: [<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>]</li><li><a href="#v:alr_pending_implicit_tokens">alr_pending_implicit_tokens</a> :: [<a href="GHC-Types-SrcLoc.html#t:PsLocated" title="GHC.Types.SrcLoc">PsLocated</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>]</li><li><a href="#v:alr_next_token">alr_next_token</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> (<a href="GHC-Types-SrcLoc.html#t:PsLocated" title="GHC.Types.SrcLoc">PsLocated</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>)</li><li><a href="#v:alr_last_loc">alr_last_loc</a> :: <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a></li><li><a href="#v:alr_context">alr_context</a> :: [ALRContext]</li><li><a href="#v:alr_expecting_ocurly">alr_expecting_ocurly</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> ALRLayout</li><li><a href="#v:alr_justClosedExplicitLetBlock">alr_justClosedExplicitLetBlock</a> :: <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></li><li><a href="#v:annotations">annotations</a> :: [(<a href="GHC-Parser-Annotation.html#t:ApiAnnKey" title="GHC.Parser.Annotation">ApiAnnKey</a>, [<a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a>])]</li><li><a href="#v:eof_pos">eof_pos</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a></li><li><a href="#v:comment_q">comment_q</a> :: [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>]</li><li><a href="#v:annotations_comments">annotations_comments</a> :: [(<a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a>, [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>])]</li><li><a href="#v:hdk_comments">hdk_comments</a> :: <a href="GHC-Data-OrdList.html#t:OrdList" title="GHC.Data.OrdList">OrdList</a> (<a href="GHC-Types-SrcLoc.html#t:PsLocated" title="GHC.Types.SrcLoc">PsLocated</a> <a href="GHC-Parser-Lexer.html#t:HdkComment" title="GHC.Parser.Lexer">HdkComment</a>)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:P">P</a> a = <a href="#v:P">P</a> {<ul class="subs"><li><a href="#v:unP">unP</a> :: <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParseResult" title="GHC.Parser.Lexer">ParseResult</a> a</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ParseResult">ParseResult</a> a<ul class="subs"><li>= <a href="#v:POk">POk</a> <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> a</li><li>| <a href="#v:PFailed">PFailed</a> <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></li></ul></li><li class="src short"><a href="#v:mkParserFlags">mkParserFlags</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></li><li class="src short"><a href="#v:mkParserFlags-39-">mkParserFlags'</a> :: <a href="GHC-Data-EnumSet.html#t:EnumSet" title="GHC.Data.EnumSet">EnumSet</a> <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Data-EnumSet.html#t:EnumSet" title="GHC.Data.EnumSet">EnumSet</a> <a href="../ghc-boot-th/GHC-LanguageExtensions-Type.html#t:Extension" title="GHC.LanguageExtensions.Type">Extension</a> -&gt; <a href="GHC-Unit-Types.html#t:UnitId" title="GHC.Unit.Types">UnitId</a> -&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ParserFlags">ParserFlags</a> = <a href="#v:ParserFlags">ParserFlags</a> {<ul class="subs"><li><a href="#v:pWarningFlags">pWarningFlags</a> :: <a href="GHC-Data-EnumSet.html#t:EnumSet" title="GHC.Data.EnumSet">EnumSet</a> <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a></li><li><a href="#v:pHomeUnitId">pHomeUnitId</a> :: <a href="GHC-Unit-Types.html#t:UnitId" title="GHC.Unit.Types">UnitId</a></li><li><a href="#v:pExtsBitmap">pExtsBitmap</a> :: !ExtsBitmap</li></ul>}</li><li class="src short"><a href="#v:appendWarning">appendWarning</a> :: <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a> -&gt; <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; (<a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a>) -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a></li><li class="src short"><a href="#v:appendError">appendError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; (<a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a>) -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a></li><li class="src short"><a href="#v:allocateComments">allocateComments</a> :: <a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a> -&gt; [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>] -&gt; ([<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>], [(<a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a>, [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>])])</li><li class="src short"><span class="keyword">class</span> <a href="GHC-Prelude.html#t:Monad" title="GHC.Prelude">Monad</a> m =&gt; <a href="#t:MonadP">MonadP</a> m <span class="keyword">where</span><ul class="subs"><li><a href="#v:addError">addError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; m ()</li><li><a href="#v:addWarning">addWarning</a> :: <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; m ()</li><li><a href="#v:addFatalError">addFatalError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; m a</li><li><a href="#v:getBit">getBit</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; m <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></li><li><a href="#v:addAnnotation">addAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Annotation.html#t:AnnKeywordId" title="GHC.Parser.Annotation">AnnKeywordId</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; m ()</li></ul></li><li class="src short"><a href="#v:getRealSrcLoc">getRealSrcLoc</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a></li><li class="src short"><a href="#v:getPState">getPState</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></li><li class="src short"><a href="#v:withHomeUnitId">withHomeUnitId</a> :: (<a href="GHC-Unit-Types.html#t:UnitId" title="GHC.Unit.Types">UnitId</a> -&gt; a) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a</li><li class="src short"><a href="#v:failMsgP">failMsgP</a> :: <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a</li><li class="src short"><a href="#v:failLocMsgP">failLocMsgP</a> :: <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a</li><li class="src short"><a href="#v:srcParseFail">srcParseFail</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a</li><li class="src short"><a href="#v:getErrorMessages">getErrorMessages</a> :: <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:ErrorMessages" title="GHC.Utils.Error">ErrorMessages</a></li><li class="src short"><a href="#v:getMessages">getMessages</a> :: <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a></li><li class="src short"><a href="#v:popContext">popContext</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> ()</li><li class="src short"><a href="#v:pushModuleContext">pushModuleContext</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> ()</li><li class="src short"><a href="#v:setLastToken">setLastToken</a> :: <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a> -&gt; <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> ()</li><li class="src short"><a href="#v:setSrcLoc">setSrcLoc</a> :: <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> ()</li><li class="src short"><a href="#v:activeContext">activeContext</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></li><li class="src short"><a href="#v:nextIsEOF">nextIsEOF</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></li><li class="src short"><a href="#v:getLexState">getLexState</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a></li><li class="src short"><a href="#v:popLexState">popLexState</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a></li><li class="src short"><a href="#v:pushLexState">pushLexState</a> :: <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:ExtBits">ExtBits</a><ul class="subs"><li>= <a href="#v:FfiBit">FfiBit</a></li><li>| <a href="#v:InterruptibleFfiBit">InterruptibleFfiBit</a></li><li>| <a href="#v:CApiFfiBit">CApiFfiBit</a></li><li>| <a href="#v:ArrowsBit">ArrowsBit</a></li><li>| <a href="#v:ThBit">ThBit</a></li><li>| <a href="#v:ThQuotesBit">ThQuotesBit</a></li><li>| <a href="#v:IpBit">IpBit</a></li><li>| <a href="#v:OverloadedLabelsBit">OverloadedLabelsBit</a></li><li>| <a href="#v:ExplicitForallBit">ExplicitForallBit</a></li><li>| <a href="#v:BangPatBit">BangPatBit</a></li><li>| <a href="#v:PatternSynonymsBit">PatternSynonymsBit</a></li><li>| <a href="#v:HaddockBit">HaddockBit</a></li><li>| <a href="#v:MagicHashBit">MagicHashBit</a></li><li>| <a href="#v:RecursiveDoBit">RecursiveDoBit</a></li><li>| <a href="#v:QualifiedDoBit">QualifiedDoBit</a></li><li>| <a href="#v:UnicodeSyntaxBit">UnicodeSyntaxBit</a></li><li>| <a href="#v:UnboxedTuplesBit">UnboxedTuplesBit</a></li><li>| <a href="#v:UnboxedSumsBit">UnboxedSumsBit</a></li><li>| <a href="#v:DatatypeContextsBit">DatatypeContextsBit</a></li><li>| <a href="#v:MonadComprehensionsBit">MonadComprehensionsBit</a></li><li>| <a href="#v:TransformComprehensionsBit">TransformComprehensionsBit</a></li><li>| <a href="#v:QqBit">QqBit</a></li><li>| <a href="#v:RawTokenStreamBit">RawTokenStreamBit</a></li><li>| <a href="#v:AlternativeLayoutRuleBit">AlternativeLayoutRuleBit</a></li><li>| <a href="#v:ALRTransitionalBit">ALRTransitionalBit</a></li><li>| <a href="#v:RelaxedLayoutBit">RelaxedLayoutBit</a></li><li>| <a href="#v:NondecreasingIndentationBit">NondecreasingIndentationBit</a></li><li>| <a href="#v:SafeHaskellBit">SafeHaskellBit</a></li><li>| <a href="#v:TraditionalRecordSyntaxBit">TraditionalRecordSyntaxBit</a></li><li>| <a href="#v:ExplicitNamespacesBit">ExplicitNamespacesBit</a></li><li>| <a href="#v:LambdaCaseBit">LambdaCaseBit</a></li><li>| <a href="#v:BinaryLiteralsBit">BinaryLiteralsBit</a></li><li>| <a href="#v:NegativeLiteralsBit">NegativeLiteralsBit</a></li><li>| <a href="#v:HexFloatLiteralsBit">HexFloatLiteralsBit</a></li><li>| <a href="#v:StaticPointersBit">StaticPointersBit</a></li><li>| <a href="#v:NumericUnderscoresBit">NumericUnderscoresBit</a></li><li>| <a href="#v:StarIsTypeBit">StarIsTypeBit</a></li><li>| <a href="#v:BlockArgumentsBit">BlockArgumentsBit</a></li><li>| <a href="#v:NPlusKPatternsBit">NPlusKPatternsBit</a></li><li>| <a href="#v:DoAndIfThenElseBit">DoAndIfThenElseBit</a></li><li>| <a href="#v:MultiWayIfBit">MultiWayIfBit</a></li><li>| <a href="#v:GadtSyntaxBit">GadtSyntaxBit</a></li><li>| <a href="#v:ImportQualifiedPostBit">ImportQualifiedPostBit</a></li><li>| <a href="#v:LinearTypesBit">LinearTypesBit</a></li><li>| <a href="#v:NoLexicalNegationBit">NoLexicalNegationBit</a></li><li>| <a href="#v:InRulePragBit">InRulePragBit</a></li><li>| <a href="#v:InNestedCommentBit">InNestedCommentBit</a></li><li>| <a href="#v:UsePosPragsBit">UsePosPragsBit</a></li></ul></li><li class="src short"><a href="#v:xtest">xtest</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; ExtsBitmap -&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></li><li class="src short"><a href="#v:lexTokenStream">lexTokenStream</a> :: <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParseResult" title="GHC.Parser.Lexer">ParseResult</a> [<a href="GHC-Types-SrcLoc.html#t:Located" title="GHC.Types.SrcLoc">Located</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>]</li><li class="src short"><a href="#v:addAnnsAt">addAnnsAt</a> :: <a href="GHC-Parser-Lexer.html#t:MonadP" title="GHC.Parser.Lexer">MonadP</a> m =&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; [<a href="GHC-Parser-Annotation.html#t:AddAnn" title="GHC.Parser.Annotation">AddAnn</a>] -&gt; m ()</li><li class="src short"><a href="#v:commentToAnnotation">commentToAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:HdkComment">HdkComment</a><ul class="subs"><li>= <a href="#v:HdkCommentNext">HdkCommentNext</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></li><li>| <a href="#v:HdkCommentPrev">HdkCommentPrev</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></li><li>| <a href="#v:HdkCommentNamed">HdkCommentNamed</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></li><li>| <a href="#v:HdkCommentSection">HdkCommentSection</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></li></ul></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Token" class="def">Token</a> <a href="src/GHC.Parser.Lexer.html#Token" class="link">Source</a> <a href="#t:Token" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ITas" class="def">ITas</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcase" class="def">ITcase</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITclass" class="def">ITclass</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdata" class="def">ITdata</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdefault" class="def">ITdefault</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITderiving" class="def">ITderiving</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdo" class="def">ITdo</a> (<a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITelse" class="def">ITelse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IThiding" class="def">IThiding</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITforeign" class="def">ITforeign</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITif" class="def">ITif</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITimport" class="def">ITimport</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITin" class="def">ITin</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinfix" class="def">ITinfix</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinfixl" class="def">ITinfixl</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinfixr" class="def">ITinfixr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinstance" class="def">ITinstance</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlet" class="def">ITlet</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITmodule" class="def">ITmodule</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITnewtype" class="def">ITnewtype</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITof" class="def">ITof</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITqualified" class="def">ITqualified</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITthen" class="def">ITthen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITtype" class="def">ITtype</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITwhere" class="def">ITwhere</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITforall" class="def">ITforall</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITexport" class="def">ITexport</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlabel" class="def">ITlabel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdynamic" class="def">ITdynamic</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITsafe" class="def">ITsafe</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinterruptible" class="def">ITinterruptible</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITunsafe" class="def">ITunsafe</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITstdcallconv" class="def">ITstdcallconv</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITccallconv" class="def">ITccallconv</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcapiconv" class="def">ITcapiconv</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimcallconv" class="def">ITprimcallconv</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITjavascriptcallconv" class="def">ITjavascriptcallconv</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITmdo" class="def">ITmdo</a> (<a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITfamily" class="def">ITfamily</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITrole" class="def">ITrole</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITgroup" class="def">ITgroup</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITby" class="def">ITby</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITusing" class="def">ITusing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITpattern" class="def">ITpattern</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITstatic" class="def">ITstatic</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITstock" class="def">ITstock</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITanyclass" class="def">ITanyclass</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITvia" class="def">ITvia</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITunit" class="def">ITunit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITsignature" class="def">ITsignature</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdependency" class="def">ITdependency</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITrequires" class="def">ITrequires</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinline_prag" class="def">ITinline_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Types-Basic.html#t:InlineSpec" title="GHC.Types.Basic">InlineSpec</a> <a href="GHC-Types-Basic.html#t:RuleMatchInfo" title="GHC.Types.Basic">RuleMatchInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITspec_prag" class="def">ITspec_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITspec_inline_prag" class="def">ITspec_inline_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITsource_prag" class="def">ITsource_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITrules_prag" class="def">ITrules_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITwarning_prag" class="def">ITwarning_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdeprecated_prag" class="def">ITdeprecated_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITline_prag" class="def">ITline_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcolumn_prag" class="def">ITcolumn_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITscc_prag" class="def">ITscc_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITgenerated_prag" class="def">ITgenerated_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITunpack_prag" class="def">ITunpack_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITnounpack_prag" class="def">ITnounpack_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITann_prag" class="def">ITann_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcomplete_prag" class="def">ITcomplete_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITclose_prag" class="def">ITclose_prag</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToptions_prag" class="def">IToptions_prag</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinclude_prag" class="def">ITinclude_prag</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlanguage_prag" class="def">ITlanguage_prag</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITminimal_prag" class="def">ITminimal_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToverlappable_prag" class="def">IToverlappable_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToverlapping_prag" class="def">IToverlapping_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToverlaps_prag" class="def">IToverlaps_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITincoherent_prag" class="def">ITincoherent_prag</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITctype" class="def">ITctype</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcomment_line_prag" class="def">ITcomment_line_prag</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdotdot" class="def">ITdotdot</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcolon" class="def">ITcolon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdcolon" class="def">ITdcolon</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITequal" class="def">ITequal</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlam" class="def">ITlam</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlcase" class="def">ITlcase</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITvbar" class="def">ITvbar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlarrow" class="def">ITlarrow</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITrarrow" class="def">ITrarrow</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdarrow" class="def">ITdarrow</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlolly" class="def">ITlolly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITminus" class="def">ITminus</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprefixminus" class="def">ITprefixminus</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITbang" class="def">ITbang</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITtilde" class="def">ITtilde</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITat" class="def">ITat</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITtypeApp" class="def">ITtypeApp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITpercent" class="def">ITpercent</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITstar" class="def">ITstar</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdot" class="def">ITdot</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITbiglam" class="def">ITbiglam</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITocurly" class="def">ITocurly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITccurly" class="def">ITccurly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITvocurly" class="def">ITvocurly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITvccurly" class="def">ITvccurly</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITobrack" class="def">ITobrack</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITopabrack" class="def">ITopabrack</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcpabrack" class="def">ITcpabrack</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcbrack" class="def">ITcbrack</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToparen" class="def">IToparen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcparen" class="def">ITcparen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToubxparen" class="def">IToubxparen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcubxparen" class="def">ITcubxparen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITsemi" class="def">ITsemi</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcomma" class="def">ITcomma</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITunderscore" class="def">ITunderscore</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITbackquote" class="def">ITbackquote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITsimpleQuote" class="def">ITsimpleQuote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITvarid" class="def">ITvarid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITconid" class="def">ITconid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITvarsym" class="def">ITvarsym</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITconsym" class="def">ITconsym</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITqvarid" class="def">ITqvarid</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITqconid" class="def">ITqconid</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITqvarsym" class="def">ITqvarsym</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITqconsym" class="def">ITqconsym</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdupipvarid" class="def">ITdupipvarid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITlabelvarid" class="def">ITlabelvarid</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITchar" class="def">ITchar</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Char" title="GHC.Prelude">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITstring" class="def">ITstring</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITinteger" class="def">ITinteger</a> <a href="GHC-Types-Basic.html#t:IntegralLit" title="GHC.Types.Basic">IntegralLit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITrational" class="def">ITrational</a> <a href="GHC-Types-Basic.html#t:FractionalLit" title="GHC.Types.Basic">FractionalLit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimchar" class="def">ITprimchar</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Char" title="GHC.Prelude">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimstring" class="def">ITprimstring</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="../bytestring/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimint" class="def">ITprimint</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Integer" title="GHC.Prelude">Integer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimword" class="def">ITprimword</a> <a href="GHC-Types-Basic.html#t:SourceText" title="GHC.Types.Basic">SourceText</a> <a href="GHC-Prelude.html#t:Integer" title="GHC.Prelude">Integer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimfloat" class="def">ITprimfloat</a> <a href="GHC-Types-Basic.html#t:FractionalLit" title="GHC.Types.Basic">FractionalLit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITprimdouble" class="def">ITprimdouble</a> <a href="GHC-Types-Basic.html#t:FractionalLit" title="GHC.Types.Basic">FractionalLit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITopenExpQuote" class="def">ITopenExpQuote</a> <a href="GHC-Parser-Annotation.html#t:HasE" title="GHC.Parser.Annotation">HasE</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITopenPatQuote" class="def">ITopenPatQuote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITopenDecQuote" class="def">ITopenDecQuote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITopenTypQuote" class="def">ITopenTypQuote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcloseQuote" class="def">ITcloseQuote</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITopenTExpQuote" class="def">ITopenTExpQuote</a> <a href="GHC-Parser-Annotation.html#t:HasE" title="GHC.Parser.Annotation">HasE</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITcloseTExpQuote" class="def">ITcloseTExpQuote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdollar" class="def">ITdollar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITdollardollar" class="def">ITdollardollar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITtyQuote" class="def">ITtyQuote</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITquasiQuote" class="def">ITquasiQuote</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITqQuasiQuote" class="def">ITqQuasiQuote</a> (<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>, <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITproc" class="def">ITproc</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ITrec" class="def">ITrec</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IToparenbar" class="def">IToparenbar</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc"><pre>(|</pre></td></tr><tr><td class="src"><a id="v:ITcparenbar" class="def">ITcparenbar</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc"><pre>|)</pre></td></tr><tr><td class="src"><a id="v:ITlarrowtail" class="def">ITlarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc"><pre>-&lt;</pre></td></tr><tr><td class="src"><a id="v:ITrarrowtail" class="def">ITrarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc"><pre>&gt;-</pre></td></tr><tr><td class="src"><a id="v:ITLarrowtail" class="def">ITLarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc"><pre>-&lt;&lt;</pre></td></tr><tr><td class="src"><a id="v:ITRarrowtail" class="def">ITRarrowtail</a> <a href="GHC-Parser-Annotation.html#t:IsUnicodeSyntax" title="GHC.Parser.Annotation">IsUnicodeSyntax</a></td><td class="doc"><pre>&gt;&gt;-</pre></td></tr><tr><td class="src"><a id="v:ITunknown" class="def">ITunknown</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>Used when the lexer can't make sense of it</p></td></tr><tr><td class="src"><a id="v:ITeof" class="def">ITeof</a></td><td class="doc"><p>end of file token</p></td></tr><tr><td class="src"><a id="v:ITdocCommentNext" class="def">ITdocCommentNext</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>something beginning <code>-- |</code></p></td></tr><tr><td class="src"><a id="v:ITdocCommentPrev" class="def">ITdocCommentPrev</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>something beginning <code>-- ^</code></p></td></tr><tr><td class="src"><a id="v:ITdocCommentNamed" class="def">ITdocCommentNamed</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>something beginning <code>-- $</code></p></td></tr><tr><td class="src"><a id="v:ITdocSection" class="def">ITdocSection</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>a section heading</p></td></tr><tr><td class="src"><a id="v:ITdocOptions" class="def">ITdocOptions</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>doc options (prune, ignore-exports, etc)</p></td></tr><tr><td class="src"><a id="v:ITlineComment" class="def">ITlineComment</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>comment starting by &quot;--&quot;</p></td></tr><tr><td class="src"><a id="v:ITblockComment" class="def">ITblockComment</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a></td><td class="doc"><p>comment in {- -}</p></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:Token">Instances</h4><details id="i:Token" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Token:Show:1"></span> <a href="GHC-Prelude.html#t:Show" title="GHC.Prelude">Show</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a></span> <a href="src/GHC.Parser.Lexer.html#line-872" class="link">Source</a> <a href="#t:Token" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Token:Show:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Prelude.html#t:ShowS" title="GHC.Prelude">ShowS</a> <a href="../base/src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> <a href="../base/src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>] -&gt; <a href="GHC-Prelude.html#t:ShowS" title="GHC.Prelude">ShowS</a> <a href="../base/src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Token:Outputable:2"></span> <a href="GHC-Utils-Outputable.html#t:Outputable" title="GHC.Utils.Outputable">Outputable</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a></span> <a href="src/GHC.Parser.Lexer.html#line-874" class="link">Source</a> <a href="#t:Token" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Token:Outputable:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:ppr">ppr</a> :: <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> <a href="src/GHC.Utils.Outputable.html#ppr" class="link">Source</a> <a href="#v:ppr" class="selflink">#</a></p><p class="src"><a href="#v:pprPrec">pprPrec</a> :: <a href="GHC-Prelude.html#t:Rational" title="GHC.Prelude">Rational</a> -&gt; <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> <a href="src/GHC.Utils.Outputable.html#pprPrec" class="link">Source</a> <a href="#v:pprPrec" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:lexer" class="def">lexer</a> :: <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; (<a href="GHC-Types-SrcLoc.html#t:Located" title="GHC.Types.SrcLoc">Located</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#lexer" class="link">Source</a> <a href="#v:lexer" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lexerDbg" class="def">lexerDbg</a> :: <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> -&gt; (<a href="GHC-Types-SrcLoc.html#t:Located" title="GHC.Types.SrcLoc">Located</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#lexerDbg" class="link">Source</a> <a href="#v:lexerDbg" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pragState" class="def">pragState</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> <a href="src/GHC.Parser.Lexer.html#pragState" class="link">Source</a> <a href="#v:pragState" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkPState" class="def">mkPState</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> <a href="src/GHC.Parser.Lexer.html#mkPState" class="link">Source</a> <a href="#v:mkPState" class="selflink">#</a></p><div class="doc"><p>Creates a parse state from a <code><a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a></code> value</p></div></div><div class="top"><p class="src"><a id="v:mkPStatePure" class="def">mkPStatePure</a> :: <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a> -&gt; <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> <a href="src/GHC.Parser.Lexer.html#mkPStatePure" class="link">Source</a> <a href="#v:mkPStatePure" class="selflink">#</a></p><div class="doc"><p>Creates a parse state from a <code><a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></code> value</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PState" class="def">PState</a> <a href="src/GHC.Parser.Lexer.html#PState" class="link">Source</a> <a href="#t:PState" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:PState" class="def">PState</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:buffer" class="def">buffer</a> :: <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:options" class="def">options</a> :: <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:messages" class="def">messages</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:tab_first" class="def">tab_first</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:tab_count" class="def">tab_count</a> :: !<a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:last_tk" class="def">last_tk</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:last_loc" class="def">last_loc</a> :: <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:last_len" class="def">last_len</a> :: !<a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:loc" class="def">loc</a> :: <a href="GHC-Types-SrcLoc.html#t:PsLoc" title="GHC.Types.SrcLoc">PsLoc</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:context" class="def">context</a> :: [LayoutContext]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:lex_state" class="def">lex_state</a> :: [<a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a>]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:srcfiles" class="def">srcfiles</a> :: [<a href="GHC-Data-FastString.html#t:FastString" title="GHC.Data.FastString">FastString</a>]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:alr_pending_implicit_tokens" class="def">alr_pending_implicit_tokens</a> :: [<a href="GHC-Types-SrcLoc.html#t:PsLocated" title="GHC.Types.SrcLoc">PsLocated</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:alr_next_token" class="def">alr_next_token</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> (<a href="GHC-Types-SrcLoc.html#t:PsLocated" title="GHC.Types.SrcLoc">PsLocated</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>)</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:alr_last_loc" class="def">alr_last_loc</a> :: <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:alr_context" class="def">alr_context</a> :: [ALRContext]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:alr_expecting_ocurly" class="def">alr_expecting_ocurly</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> ALRLayout</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:alr_justClosedExplicitLetBlock" class="def">alr_justClosedExplicitLetBlock</a> :: <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:annotations" class="def">annotations</a> :: [(<a href="GHC-Parser-Annotation.html#t:ApiAnnKey" title="GHC.Parser.Annotation">ApiAnnKey</a>, [<a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a>])]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:eof_pos" class="def">eof_pos</a> :: <a href="GHC-Prelude.html#t:Maybe" title="GHC.Prelude">Maybe</a> <a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:comment_q" class="def">comment_q</a> :: [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:annotations_comments" class="def">annotations_comments</a> :: [(<a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a>, [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>])]</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:hdk_comments" class="def">hdk_comments</a> :: <a href="GHC-Data-OrdList.html#t:OrdList" title="GHC.Data.OrdList">OrdList</a> (<a href="GHC-Types-SrcLoc.html#t:PsLocated" title="GHC.Types.SrcLoc">PsLocated</a> <a href="GHC-Parser-Lexer.html#t:HdkComment" title="GHC.Parser.Lexer">HdkComment</a>)</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:P" class="def">P</a> a <a href="src/GHC.Parser.Lexer.html#P" class="link">Source</a> <a href="#t:P" class="selflink">#</a></p><div class="doc"><p>The parsing monad, isomorphic to <code>StateT PState Maybe</code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:P" class="def">P</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:unP" class="def">unP</a> :: <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParseResult" title="GHC.Parser.Lexer">ParseResult</a> a</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:P">Instances</h4><details id="i:P" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:P:Applicative:1"></span> <a href="GHC-Prelude.html#t:Applicative" title="GHC.Prelude">Applicative</a> <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a></span> <a href="src/GHC.Parser.Lexer.html#line-2302" class="link">Source</a> <a href="#t:P" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:P:Applicative:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="../base/src/GHC.Base.html#pure" class="link">Source</a> <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> (a -&gt; b) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b <a href="../base/src/GHC.Base.html#%3C%2A%3E" class="link">Source</a> <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -&gt; b -&gt; c) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> c <a href="../base/src/GHC.Base.html#liftA2" class="link">Source</a> <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b <a href="../base/src/GHC.Base.html#%2A%3E" class="link">Source</a> <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="../base/src/GHC.Base.html#%3C%2A" class="link">Source</a> <a href="#v:-60--42-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:P:Functor:2"></span> <a href="GHC-Prelude.html#t:Functor" title="GHC.Prelude">Functor</a> <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a></span> <a href="src/GHC.Parser.Lexer.html#line-2299" class="link">Source</a> <a href="#t:P" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:P:Functor:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b <a href="../base/src/GHC.Base.html#fmap" class="link">Source</a> <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="../base/src/GHC.Base.html#%3C%24" class="link">Source</a> <a href="#v:-60--36-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:P:Monad:3"></span> <a href="GHC-Prelude.html#t:Monad" title="GHC.Prelude">Monad</a> <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a></span> <a href="src/GHC.Parser.Lexer.html#line-2306" class="link">Source</a> <a href="#t:P" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:P:Monad:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; (a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b <a href="../base/src/GHC.Base.html#%3E%3E%3D" class="link">Source</a> <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> b <a href="../base/src/GHC.Base.html#%3E%3E" class="link">Source</a> <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="../base/src/GHC.Base.html#return" class="link">Source</a> <a href="#v:return" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:P:MonadP:4"></span> <a href="GHC-Parser-Lexer.html#t:MonadP" title="GHC.Parser.Lexer">MonadP</a> <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a></span> <a href="src/GHC.Parser.Lexer.html#line-2836" class="link">Source</a> <a href="#t:P" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:P:MonadP:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:addError">addError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#addError" class="link">Source</a> <a href="#v:addError" class="selflink">#</a></p><p class="src"><a href="#v:addWarning">addWarning</a> :: <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#addWarning" class="link">Source</a> <a href="#v:addWarning" class="selflink">#</a></p><p class="src"><a href="#v:addFatalError">addFatalError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#addFatalError" class="link">Source</a> <a href="#v:addFatalError" class="selflink">#</a></p><p class="src"><a href="#v:getBit">getBit</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#getBit" class="link">Source</a> <a href="#v:getBit" class="selflink">#</a></p><p class="src"><a href="#v:addAnnotation">addAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Annotation.html#t:AnnKeywordId" title="GHC.Parser.Annotation">AnnKeywordId</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#addAnnotation" class="link">Source</a> <a href="#v:addAnnotation" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ParseResult" class="def">ParseResult</a> a <a href="src/GHC.Parser.Lexer.html#ParseResult" class="link">Source</a> <a href="#t:ParseResult" class="selflink">#</a></p><div class="doc"><p>The result of running a parser.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:POk" class="def">POk</a></td><td class="doc"><p>The parser has consumed a (possibly empty) prefix
   of the input and produced a result. Use <code><a href="GHC-Parser-Lexer.html#v:getMessages" title="GHC.Parser.Lexer">getMessages</a></code>
   to check for accumulated warnings and non-fatal errors.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></dfn><div class="doc"><p>The resulting parsing state. Can be used to resume parsing.</p></div></li><li><dfn class="src">a</dfn><div class="doc"><p>The resulting value.</p></div></li></ul></div></td></tr><tr><td class="src"><a id="v:PFailed" class="def">PFailed</a></td><td class="doc"><p>The parser has consumed a (possibly empty) prefix
   of the input and failed.</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></dfn><div class="doc"><p>The parsing state right before failure, including the fatal
   parse error. <code><a href="GHC-Parser-Lexer.html#v:getMessages" title="GHC.Parser.Lexer">getMessages</a></code> and <code><a href="GHC-Parser-Lexer.html#v:getErrorMessages" title="GHC.Parser.Lexer">getErrorMessages</a></code> must return
   a non-empty bag of errors.</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:mkParserFlags" class="def">mkParserFlags</a> :: <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a> <a href="src/GHC.Parser.Lexer.html#mkParserFlags" class="link">Source</a> <a href="#v:mkParserFlags" class="selflink">#</a></p><div class="doc"><p>Extracts the flag information needed for parsing</p></div></div><div class="top"><p class="src"><a id="v:mkParserFlags-39-" class="def">mkParserFlags'</a> <a href="src/GHC.Parser.Lexer.html#mkParserFlags%27" class="link">Source</a> <a href="#v:mkParserFlags-39-" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="GHC-Data-EnumSet.html#t:EnumSet" title="GHC.Data.EnumSet">EnumSet</a> <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a></td><td class="doc"><p>warnings flags enabled</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Data-EnumSet.html#t:EnumSet" title="GHC.Data.EnumSet">EnumSet</a> <a href="../ghc-boot-th/GHC-LanguageExtensions-Type.html#t:Extension" title="GHC.LanguageExtensions.Type">Extension</a></td><td class="doc"><p>permitted language extensions enabled</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Unit-Types.html#t:UnitId" title="GHC.Unit.Types">UnitId</a></td><td class="doc"><p>id of the unit currently being compiled</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></td><td class="doc"><p>are safe imports on?</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></td><td class="doc"><p>keeping Haddock comment tokens</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></td><td class="doc"><p>keep regular comment tokens</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a></td><td class="doc"><p>If this is enabled, '{-# LINE ... -#}' and '{-# COLUMN ... #-}' update
 the internal position kept by the parser. Otherwise, those pragmas are
 lexed as <code><a href="GHC-Parser-Lexer.html#v:ITline_prag" title="GHC.Parser.Lexer">ITline_prag</a></code> and <code><a href="GHC-Parser-Lexer.html#v:ITcolumn_prag" title="GHC.Parser.Lexer">ITcolumn_prag</a></code> tokens.</p></td></tr><tr><td class="src">-&gt; <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Given exactly the information needed, set up the <code><a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a></code></p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ParserFlags" class="def">ParserFlags</a> <a href="src/GHC.Parser.Lexer.html#ParserFlags" class="link">Source</a> <a href="#t:ParserFlags" class="selflink">#</a></p><div class="doc"><p>The subset of the <code><a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a></code> used by the parser.
 See <code><a href="GHC-Parser-Lexer.html#v:mkParserFlags" title="GHC.Parser.Lexer">mkParserFlags</a></code> or <code><a href="GHC-Parser-Lexer.html#v:mkParserFlags-39-" title="GHC.Parser.Lexer">mkParserFlags'</a></code> for ways to construct this.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ParserFlags" class="def">ParserFlags</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:pWarningFlags" class="def">pWarningFlags</a> :: <a href="GHC-Data-EnumSet.html#t:EnumSet" title="GHC.Data.EnumSet">EnumSet</a> <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:pHomeUnitId" class="def">pHomeUnitId</a> :: <a href="GHC-Unit-Types.html#t:UnitId" title="GHC.Unit.Types">UnitId</a></dfn><div class="doc"><p>unit currently being compiled</p></div></li><li><dfn class="src"><a id="v:pExtsBitmap" class="def">pExtsBitmap</a> :: !ExtsBitmap</dfn><div class="doc"><p>bitmap of permitted extensions</p></div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:appendWarning" class="def">appendWarning</a> :: <a href="GHC-Parser-Lexer.html#t:ParserFlags" title="GHC.Parser.Lexer">ParserFlags</a> -&gt; <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; (<a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a>) -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a> <a href="src/GHC.Parser.Lexer.html#appendWarning" class="link">Source</a> <a href="#v:appendWarning" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:appendError" class="def">appendError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; (<a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a>) -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a> <a href="src/GHC.Parser.Lexer.html#appendError" class="link">Source</a> <a href="#v:appendError" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:allocateComments" class="def">allocateComments</a> :: <a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a> -&gt; [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>] -&gt; ([<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>], [(<a href="GHC-Types-SrcLoc.html#t:RealSrcSpan" title="GHC.Types.SrcLoc">RealSrcSpan</a>, [<a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a>])]) <a href="src/GHC.Parser.Lexer.html#allocateComments" class="link">Source</a> <a href="#v:allocateComments" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="GHC-Prelude.html#t:Monad" title="GHC.Prelude">Monad</a> m =&gt; <a id="t:MonadP" class="def">MonadP</a> m <span class="keyword">where</span> <a href="src/GHC.Parser.Lexer.html#MonadP" class="link">Source</a> <a href="#t:MonadP" class="selflink">#</a></p><div class="doc"><p>An mtl-style class for monads that support parsing-related operations.
 For example, sometimes we make a second pass over the parsing results to validate,
 disambiguate, or rearrange them, and we do so in the PV monad which cannot consume
 input but can report parsing errors, check for extension bits, and accumulate
 parsing annotations. Both P and PV are instances of MonadP.</p><p>MonadP grants us convenient overloading. The other option is to have separate operations
 for each monad: addErrorP vs addErrorPV, getBitP vs getBitPV, and so on.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:addError" class="def">addError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; m () <a href="src/GHC.Parser.Lexer.html#addError" class="link">Source</a> <a href="#v:addError" class="selflink">#</a></p><div class="doc"><p>Add a non-fatal error. Use this when the parser can produce a result
   despite the error.</p><p>For example, when GHC encounters a <code>forall</code> in a type,
   but <code>-XExplicitForAll</code> is disabled, the parser constructs <code>ForAllTy</code>
   as if <code>-XExplicitForAll</code> was enabled, adding a non-fatal error to
   the accumulator.</p><p>Control flow wise, non-fatal errors act like warnings: they are added
   to the accumulator and parsing continues. This allows GHC to report
   more than one parse error per file.</p></div><p class="src"><a id="v:addWarning" class="def">addWarning</a> :: <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; m () <a href="src/GHC.Parser.Lexer.html#addWarning" class="link">Source</a> <a href="#v:addWarning" class="selflink">#</a></p><div class="doc"><p>Add a warning to the accumulator.
   Use <code><a href="GHC-Parser-Lexer.html#v:getMessages" title="GHC.Parser.Lexer">getMessages</a></code> to get the accumulated warnings.</p></div><p class="src"><a id="v:addFatalError" class="def">addFatalError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; m a <a href="src/GHC.Parser.Lexer.html#addFatalError" class="link">Source</a> <a href="#v:addFatalError" class="selflink">#</a></p><div class="doc"><p>Add a fatal error. This will be the last error reported by the parser, and
   the parser will not produce any result, ending in a <code><a href="GHC-Parser-Lexer.html#v:PFailed" title="GHC.Parser.Lexer">PFailed</a></code> state.</p></div><p class="src"><a id="v:getBit" class="def">getBit</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; m <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#getBit" class="link">Source</a> <a href="#v:getBit" class="selflink">#</a></p><div class="doc"><p>Check if a given flag is currently set in the bitmap.</p></div><p class="src"><a id="v:addAnnotation" class="def">addAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Annotation.html#t:AnnKeywordId" title="GHC.Parser.Annotation">AnnKeywordId</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; m () <a href="src/GHC.Parser.Lexer.html#addAnnotation" class="link">Source</a> <a href="#v:addAnnotation" class="selflink">#</a></p><div class="doc"><p>Given a location and a list of AddAnn, apply them all to the location.</p></div></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:MonadP">Instances</h4><details id="i:MonadP" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:MonadP:MonadP:1"></span> <a href="GHC-Parser-Lexer.html#t:MonadP" title="GHC.Parser.Lexer">MonadP</a> <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a></span> <a href="src/GHC.Parser.Lexer.html#line-2836" class="link">Source</a> <a href="#t:MonadP" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:MonadP:MonadP:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:addError">addError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#addError" class="link">Source</a> <a href="#v:addError" class="selflink">#</a></p><p class="src"><a href="#v:addWarning">addWarning</a> :: <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#addWarning" class="link">Source</a> <a href="#v:addWarning" class="selflink">#</a></p><p class="src"><a href="#v:addFatalError">addFatalError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#addFatalError" class="link">Source</a> <a href="#v:addFatalError" class="selflink">#</a></p><p class="src"><a href="#v:getBit">getBit</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#getBit" class="link">Source</a> <a href="#v:getBit" class="selflink">#</a></p><p class="src"><a href="#v:addAnnotation">addAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Annotation.html#t:AnnKeywordId" title="GHC.Parser.Annotation">AnnKeywordId</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#addAnnotation" class="link">Source</a> <a href="#v:addAnnotation" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:MonadP:MonadP:2"></span> <a href="GHC-Parser-Lexer.html#t:MonadP" title="GHC.Parser.Lexer">MonadP</a> <a href="GHC-Parser-PostProcess.html#t:PV" title="GHC.Parser.PostProcess">PV</a></span> <a href="src/GHC.Parser.PostProcess.html#line-2904" class="link">Source</a> <a href="#t:MonadP" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:MonadP:MonadP:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-PostProcess.html">GHC.Parser.PostProcess</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:addError">addError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-PostProcess.html#t:PV" title="GHC.Parser.PostProcess">PV</a> () <a href="src/GHC.Parser.Lexer.html#addError" class="link">Source</a> <a href="#v:addError" class="selflink">#</a></p><p class="src"><a href="#v:addWarning">addWarning</a> :: <a href="GHC-Driver-Session.html#t:WarningFlag" title="GHC.Driver.Session">WarningFlag</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-PostProcess.html#t:PV" title="GHC.Parser.PostProcess">PV</a> () <a href="src/GHC.Parser.Lexer.html#addWarning" class="link">Source</a> <a href="#v:addWarning" class="selflink">#</a></p><p class="src"><a href="#v:addFatalError">addFatalError</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Utils-Outputable.html#t:SDoc" title="GHC.Utils.Outputable">SDoc</a> -&gt; <a href="GHC-Parser-PostProcess.html#t:PV" title="GHC.Parser.PostProcess">PV</a> a <a href="src/GHC.Parser.Lexer.html#addFatalError" class="link">Source</a> <a href="#v:addFatalError" class="selflink">#</a></p><p class="src"><a href="#v:getBit">getBit</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-PostProcess.html#t:PV" title="GHC.Parser.PostProcess">PV</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#getBit" class="link">Source</a> <a href="#v:getBit" class="selflink">#</a></p><p class="src"><a href="#v:addAnnotation">addAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-Annotation.html#t:AnnKeywordId" title="GHC.Parser.Annotation">AnnKeywordId</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; <a href="GHC-Parser-PostProcess.html#t:PV" title="GHC.Parser.PostProcess">PV</a> () <a href="src/GHC.Parser.Lexer.html#addAnnotation" class="link">Source</a> <a href="#v:addAnnotation" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:getRealSrcLoc" class="def">getRealSrcLoc</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> <a href="src/GHC.Parser.Lexer.html#getRealSrcLoc" class="link">Source</a> <a href="#v:getRealSrcLoc" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getPState" class="def">getPState</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> <a href="src/GHC.Parser.Lexer.html#getPState" class="link">Source</a> <a href="#v:getPState" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:withHomeUnitId" class="def">withHomeUnitId</a> :: (<a href="GHC-Unit-Types.html#t:UnitId" title="GHC.Unit.Types">UnitId</a> -&gt; a) -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#withHomeUnitId" class="link">Source</a> <a href="#v:withHomeUnitId" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:failMsgP" class="def">failMsgP</a> :: <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#failMsgP" class="link">Source</a> <a href="#v:failMsgP" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:failLocMsgP" class="def">failLocMsgP</a> :: <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#failLocMsgP" class="link">Source</a> <a href="#v:failLocMsgP" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:srcParseFail" class="def">srcParseFail</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> a <a href="src/GHC.Parser.Lexer.html#srcParseFail" class="link">Source</a> <a href="#v:srcParseFail" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getErrorMessages" class="def">getErrorMessages</a> :: <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:ErrorMessages" title="GHC.Utils.Error">ErrorMessages</a> <a href="src/GHC.Parser.Lexer.html#getErrorMessages" class="link">Source</a> <a href="#v:getErrorMessages" class="selflink">#</a></p><div class="doc"><p>Get a bag of the errors that have been accumulated so far.
   Does not take -Werror into account.</p></div></div><div class="top"><p class="src"><a id="v:getMessages" class="def">getMessages</a> :: <a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a> -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Utils-Error.html#t:Messages" title="GHC.Utils.Error">Messages</a> <a href="src/GHC.Parser.Lexer.html#getMessages" class="link">Source</a> <a href="#v:getMessages" class="selflink">#</a></p><div class="doc"><p>Get the warnings and errors accumulated so far.
   Does not take -Werror into account.</p></div></div><div class="top"><p class="src"><a id="v:popContext" class="def">popContext</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#popContext" class="link">Source</a> <a href="#v:popContext" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pushModuleContext" class="def">pushModuleContext</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#pushModuleContext" class="link">Source</a> <a href="#v:pushModuleContext" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setLastToken" class="def">setLastToken</a> :: <a href="GHC-Types-SrcLoc.html#t:PsSpan" title="GHC.Types.SrcLoc">PsSpan</a> -&gt; <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#setLastToken" class="link">Source</a> <a href="#v:setLastToken" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setSrcLoc" class="def">setSrcLoc</a> :: <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#setSrcLoc" class="link">Source</a> <a href="#v:setSrcLoc" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:activeContext" class="def">activeContext</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#activeContext" class="link">Source</a> <a href="#v:activeContext" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:nextIsEOF" class="def">nextIsEOF</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#nextIsEOF" class="link">Source</a> <a href="#v:nextIsEOF" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLexState" class="def">getLexState</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="src/GHC.Parser.Lexer.html#getLexState" class="link">Source</a> <a href="#v:getLexState" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:popLexState" class="def">popLexState</a> :: <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="src/GHC.Parser.Lexer.html#popLexState" class="link">Source</a> <a href="#v:popLexState" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:pushLexState" class="def">pushLexState</a> :: <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:P" title="GHC.Parser.Lexer">P</a> () <a href="src/GHC.Parser.Lexer.html#pushLexState" class="link">Source</a> <a href="#v:pushLexState" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ExtBits" class="def">ExtBits</a> <a href="src/GHC.Parser.Lexer.html#ExtBits" class="link">Source</a> <a href="#t:ExtBits" class="selflink">#</a></p><div class="doc"><p>Various boolean flags, mostly language extensions, that impact lexing and
 parsing. Note that a handful of these can change during lexing/parsing.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:FfiBit" class="def">FfiBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:InterruptibleFfiBit" class="def">InterruptibleFfiBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:CApiFfiBit" class="def">CApiFfiBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ArrowsBit" class="def">ArrowsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ThBit" class="def">ThBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ThQuotesBit" class="def">ThQuotesBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IpBit" class="def">IpBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:OverloadedLabelsBit" class="def">OverloadedLabelsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ExplicitForallBit" class="def">ExplicitForallBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:BangPatBit" class="def">BangPatBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:PatternSynonymsBit" class="def">PatternSynonymsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:HaddockBit" class="def">HaddockBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:MagicHashBit" class="def">MagicHashBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:RecursiveDoBit" class="def">RecursiveDoBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:QualifiedDoBit" class="def">QualifiedDoBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UnicodeSyntaxBit" class="def">UnicodeSyntaxBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UnboxedTuplesBit" class="def">UnboxedTuplesBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UnboxedSumsBit" class="def">UnboxedSumsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:DatatypeContextsBit" class="def">DatatypeContextsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:MonadComprehensionsBit" class="def">MonadComprehensionsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:TransformComprehensionsBit" class="def">TransformComprehensionsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:QqBit" class="def">QqBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:RawTokenStreamBit" class="def">RawTokenStreamBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:AlternativeLayoutRuleBit" class="def">AlternativeLayoutRuleBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ALRTransitionalBit" class="def">ALRTransitionalBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:RelaxedLayoutBit" class="def">RelaxedLayoutBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:NondecreasingIndentationBit" class="def">NondecreasingIndentationBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:SafeHaskellBit" class="def">SafeHaskellBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:TraditionalRecordSyntaxBit" class="def">TraditionalRecordSyntaxBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ExplicitNamespacesBit" class="def">ExplicitNamespacesBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:LambdaCaseBit" class="def">LambdaCaseBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:BinaryLiteralsBit" class="def">BinaryLiteralsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:NegativeLiteralsBit" class="def">NegativeLiteralsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:HexFloatLiteralsBit" class="def">HexFloatLiteralsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:StaticPointersBit" class="def">StaticPointersBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:NumericUnderscoresBit" class="def">NumericUnderscoresBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:StarIsTypeBit" class="def">StarIsTypeBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:BlockArgumentsBit" class="def">BlockArgumentsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:NPlusKPatternsBit" class="def">NPlusKPatternsBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:DoAndIfThenElseBit" class="def">DoAndIfThenElseBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:MultiWayIfBit" class="def">MultiWayIfBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:GadtSyntaxBit" class="def">GadtSyntaxBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ImportQualifiedPostBit" class="def">ImportQualifiedPostBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:LinearTypesBit" class="def">LinearTypesBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:NoLexicalNegationBit" class="def">NoLexicalNegationBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:InRulePragBit" class="def">InRulePragBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:InNestedCommentBit" class="def">InNestedCommentBit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UsePosPragsBit" class="def">UsePosPragsBit</a></td><td class="doc"><p>If this is enabled, '{-# LINE ... -#}' and '{-# COLUMN ... #-}'
 update the internal position. Otherwise, those pragmas are lexed as
 tokens of their own.</p></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:ExtBits">Instances</h4><details id="i:ExtBits" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ExtBits:Enum:1"></span> <a href="GHC-Prelude.html#t:Enum" title="GHC.Prelude">Enum</a> <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a></span> <a href="src/GHC.Parser.Lexer.html#line-2633" class="link">Source</a> <a href="#t:ExtBits" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ExtBits:Enum:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> <a href="../base/src/GHC.Enum.html#succ" class="link">Source</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> <a href="../base/src/GHC.Enum.html#pred" class="link">Source</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> <a href="../base/src/GHC.Enum.html#toEnum" class="link">Source</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="../base/src/GHC.Enum.html#fromEnum" class="link">Source</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; [<a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a>] <a href="../base/src/GHC.Enum.html#enumFrom" class="link">Source</a> <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; [<a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a>] <a href="../base/src/GHC.Enum.html#enumFromThen" class="link">Source</a> <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; [<a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a>] <a href="../base/src/GHC.Enum.html#enumFromTo" class="link">Source</a> <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; [<a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a>] <a href="../base/src/GHC.Enum.html#enumFromThenTo" class="link">Source</a> <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:xtest" class="def">xtest</a> :: <a href="GHC-Parser-Lexer.html#t:ExtBits" title="GHC.Parser.Lexer">ExtBits</a> -&gt; ExtsBitmap -&gt; <a href="GHC-Prelude.html#t:Bool" title="GHC.Prelude">Bool</a> <a href="src/GHC.Parser.Lexer.html#xtest" class="link">Source</a> <a href="#v:xtest" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lexTokenStream" class="def">lexTokenStream</a> :: <a href="GHC-Data-StringBuffer.html#t:StringBuffer" title="GHC.Data.StringBuffer">StringBuffer</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealSrcLoc" title="GHC.Types.SrcLoc">RealSrcLoc</a> -&gt; <a href="GHC-Driver-Session.html#t:DynFlags" title="GHC.Driver.Session">DynFlags</a> -&gt; <a href="GHC-Parser-Lexer.html#t:ParseResult" title="GHC.Parser.Lexer">ParseResult</a> [<a href="GHC-Types-SrcLoc.html#t:Located" title="GHC.Types.SrcLoc">Located</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a>] <a href="src/GHC.Parser.Lexer.html#lexTokenStream" class="link">Source</a> <a href="#v:lexTokenStream" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:addAnnsAt" class="def">addAnnsAt</a> :: <a href="GHC-Parser-Lexer.html#t:MonadP" title="GHC.Parser.Lexer">MonadP</a> m =&gt; <a href="GHC-Types-SrcLoc.html#t:SrcSpan" title="GHC.Types.SrcLoc">SrcSpan</a> -&gt; [<a href="GHC-Parser-Annotation.html#t:AddAnn" title="GHC.Parser.Annotation">AddAnn</a>] -&gt; m () <a href="src/GHC.Parser.Lexer.html#addAnnsAt" class="link">Source</a> <a href="#v:addAnnsAt" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:commentToAnnotation" class="def">commentToAnnotation</a> :: <a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Lexer.html#t:Token" title="GHC.Parser.Lexer">Token</a> -&gt; <a href="GHC-Types-SrcLoc.html#t:RealLocated" title="GHC.Types.SrcLoc">RealLocated</a> <a href="GHC-Parser-Annotation.html#t:AnnotationComment" title="GHC.Parser.Annotation">AnnotationComment</a> <a href="src/GHC.Parser.Lexer.html#commentToAnnotation" class="link">Source</a> <a href="#v:commentToAnnotation" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:HdkComment" class="def">HdkComment</a> <a href="src/GHC.Parser.Lexer.html#HdkComment" class="link">Source</a> <a href="#t:HdkComment" class="selflink">#</a></p><div class="doc"><p>Haddock comment as produced by the lexer. These are accumulated in
 <code><a href="GHC-Parser-Lexer.html#t:PState" title="GHC.Parser.Lexer">PState</a></code> and then processed in <a href="GHC-Parser-PostProcess-Haddock.html">GHC.Parser.PostProcess.Haddock</a>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:HdkCommentNext" class="def">HdkCommentNext</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:HdkCommentPrev" class="def">HdkCommentPrev</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:HdkCommentNamed" class="def">HdkCommentNamed</a> <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:HdkCommentSection" class="def">HdkCommentSection</a> <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> <a href="GHC-Hs-Doc.html#t:HsDocString" title="GHC.Hs.Doc">HsDocString</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:HdkComment">Instances</h4><details id="i:HdkComment" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:HdkComment:Show:1"></span> <a href="GHC-Prelude.html#t:Show" title="GHC.Prelude">Show</a> <a href="GHC-Parser-Lexer.html#t:HdkComment" title="GHC.Parser.Lexer">HdkComment</a></span> <a href="src/GHC.Parser.Lexer.html#line-2231" class="link">Source</a> <a href="#t:HdkComment" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:HdkComment:Show:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="GHC-Parser-Lexer.html">GHC.Parser.Lexer</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="GHC-Prelude.html#t:Int" title="GHC.Prelude">Int</a> -&gt; <a href="GHC-Parser-Lexer.html#t:HdkComment" title="GHC.Parser.Lexer">HdkComment</a> -&gt; <a href="GHC-Prelude.html#t:ShowS" title="GHC.Prelude">ShowS</a> <a href="../base/src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="GHC-Parser-Lexer.html#t:HdkComment" title="GHC.Parser.Lexer">HdkComment</a> -&gt; <a href="GHC-Prelude.html#t:String" title="GHC.Prelude">String</a> <a href="../base/src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="GHC-Parser-Lexer.html#t:HdkComment" title="GHC.Parser.Lexer">HdkComment</a>] -&gt; <a href="GHC-Prelude.html#t:ShowS" title="GHC.Prelude">ShowS</a> <a href="../base/src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.25.1</p></div></body></html>